﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace CommonSense.UI.Shell.Interfaces
{
    interface IModuleService
    {
        IDIContainer DIContainer
        {
            get;
        }

        void RegisterAssembly(Assembly assembly);
        
        IEnumerable<IModule> GetModules();
        Type GetTypeByName(string fullTypeName);
        Type GetViewForViewModel(Type viewModelType);
        object CreateInstance(Type type);
    }
}
